package review.model.singleton;

/**
 * 单例模式<br/>
 * 二）懒汉式，非线程安全<br/>
 * @author me@longlonggo.com
 * @version 100-000-000<br/>
 * 创建日期：2018年9月16日 <br/>
 */
public class Singleton2 {
	//优点：精确控制单例初始化时间，充分利用延迟加载，只会在调用时才被初始化，
	//缺点：为防止对象被多次加载，使用synchronized进行同步，并发环境可能会降低性能
	private static Singleton2 singletonObj;
	
	//构造函数要定义为私有的，避免错误执行实例化
	private Singleton2() {}
	
	//返回单例对象
	public static synchronized Singleton2 getSingleton2() {
		if(singletonObj == null) {
			singletonObj = new Singleton2();
		}
		return singletonObj;
	}

}
